#include<iostream>
#include <future>  

int Add(int x,int y)
{
    return x+y;
}

int main()
{
    //1.通过async获得res对象,std::launch::async该函数创建线程，即异步操作 
    //std::launch::deferred：直到调用res.get()才执行，不会创建新线程
    std::future<int> res = std::async(std::launch::async ,&Add,1,2);

    //2.通过res.get()获得结果，如果还没运算完这进行阻塞式等待
    std::cout<<res.get()<<std::endl;

    return 0;
}

